#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QToolBar>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //工具栏和菜单栏往往搭配使用,工具栏中的QAction也可以出现在菜单中
    //创建菜单栏
    QMenuBar* menuBar = this->menuBar();
    this->setMenuBar(menuBar);

    //创建菜单并设置到菜单栏里
    QMenu* menu = new QMenu("文件");
    menuBar->addMenu(menu);

    //工具栏是需要手动创建出来的,自身不会自动创建
    QToolBar* toolBar = new QToolBar();
    this->addToolBar(toolBar);

    //创建菜单项并在后面放到工具栏中
    QAction* action1 = new QAction("保存");
    QAction* action2 = new QAction("打开");
    //如果菜单项QAction出现在工具栏上,也会产生图标覆盖文本的情况，文本会以toolTip的形式存在,当鼠标悬停在上面时，会出现提示信息
    //另外也可通过setToolTip()方法手动设置ToolTip(提示信息)
    action1->setToolTip("保存文件");
    action2->setToolTip("打开文件");
    action1->setIcon(QIcon(":/save.svg"));
    action2->setIcon(QIcon(":/open.svg"));
    //把菜单项放到工具栏中
    toolBar->addAction(action1);
    toolBar->addAction(action2);

    //把菜单项放到菜单中
    menu->addAction(action1);
    menu->addAction(action2);

    //给菜单项提供槽函数
    connect(action1,&QAction::triggered,this,&MainWindow::handle1);
    connect(action2,&QAction::triggered,this,&MainWindow::handle2);

}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::handle1()
{
    qDebug()<<"handle1";
}

void MainWindow::handle2()
{
    qDebug()<<"handle2";
}
